All traffic lights have to follow certain requirements to ensure that accidents don't happen. Here are some of those requirements:
Most traffic lights have a noticable pattern for when they change colour. The pattern I noticed was this:
A traffic light colour could be the difference between life and death. You should always know how to safely use traffic lights. Here's how:
Here's my code for a traffic light circuit I made.
/*Traffic Lights 2017-05-04 To 2017-05-05 Lucca*/ int ledRed1 = 10; int ledYellow1 = 11; int ledGreen1 = 12; int ledRed2 = 7; int ledYellow2 = 8; int ledGreen2 = 9; void setup() { pinMode(ledYellow1, OUTPUT); pinMode(ledRed1, OUTPUT); pinMode(ledGreen1, OUTPUT); pinMode(ledGreen2, OUTPUT); pinMode(ledYellow2, OUTPUT); pinMode(ledRed2, OUTPUT); } void loop() { // First Round // Red 1 and Red 2 digitalWrite(ledRed1, HIGH); // Turns ledRed1 On digitalWrite(ledRed2, HIGH); // Turns ledRed2 On delay(2000); // Wait digitalWrite(ledRed1, LOW); // Turns ledRed1 Off digitalWrite(ledRed2, LOW); // Turns ledRed2 Off delay(0); // Wait delay(0); // Wait // Red 1 and Green 2 digitalWrite(ledRed1, HIGH); // Turns ledRed1 On digitalWrite(ledGreen2, HIGH); // Turns ledGreen2 On delay(3000); // Wait digitalWrite(ledRed1, LOW); // Turns ledRed1 Off digitalWrite(ledGreen2, LOW); // Turns ledGreen2 Off delay(0); // Wait delay(0); // Wait // Red 1 and Yellow 2 digitalWrite(ledRed1, HIGH); // Turns ledRed1 On digitalWrite(ledYellow2, HIGH); // Turns ledYellow2 On delay(1500); // Wait digitalWrite(ledRed1, LOW); // Turns ledRed1 Off digitalWrite(ledYellow2, LOW); // Turns ledYellow2 Off delay(0); // Wait delay(0); // Wait // Red 1 and Red 2 digitalWrite(ledRed1, HIGH); // Turns ledRed1 On digitalWrite(ledRed2, HIGH); // Turns ledRed2 On delay(2000); // Wait digitalWrite(ledRed1, LOW); // Turns ledRed1 Off digitalWrite(ledRed2, LOW); // Turns ledRed2 Off delay(0); // Wait delay(0); // Wait // Second Round // Red 2 and Green 1 digitalWrite(ledRed2, HIGH); // Turns ledRed2 On digitalWrite(ledGreen1, HIGH); // Turns ledGreen1 On delay(3000); // Wait digitalWrite(ledRed2, LOW); // Turns ledRed2 Off digitalWrite(ledGreen1, LOW); // Turns ledGreen1 Off delay(0); // Wait delay(0); // Wait // Red 2 and Yellow 1 digitalWrite(ledRed2, HIGH); // Turns ledRed2 On digitalWrite(ledYellow1, HIGH); // Turns ledYellow1 On delay(1500); // Wait digitalWrite(ledRed2, LOW); // Turns ledRed2 Off digitalWrite(ledYellow1, LOW); // Turns ledYellow1 Off delay(0); // Wait delay(0); // Wait }